import request from "@/utils/request";

/**
 * 获取漏洞情报任务列表
 * @param {Object} params - 查询参数
 * @param {number} params.page_index - 页码
 * @param {number} params.page_size - 每页数量
 * @returns {Promise} Promise 对象
 */
export function getScriptList(params) {
  return request({
    url: "/script/task/",
    method: "get",
    params,
  });
}

/**
 * 获取漏洞来源信息
 * @returns {Promise} Promise 对象
 */
export function getSourceInfo() {
  return request({
    url: "/script/source_info/",
    method: "get",
  });
}

/**
 * 创建漏洞情报任务
 * @param {Object} data - 任务信息
 * @param {string} data.source - 漏洞来源
 * @param {number} data.type - 定时任务类型 (1每天一次, 2每周一次)
 * @returns {Promise} Promise 对象
 */
export function createTask(data) {
  return request({
    url: "/script/task/",
    method: "post",
    data,
    headers: {
      "Content-Type": "multipart/form-data",
    },
  });
}

/**
 * 更新漏洞情报任务
 * @param {Object} data - 任务信息
 * @param {string} data.id - 任务ID
 * @param {number} data.type - 定时任务类型 (1每天一次, 2每周一次)
 * @returns {Promise} Promise 对象
 */
export function updateTask(data) {
  return request({
    url: "/script/task/",
    method: "put",
    data,
  });
}

/**
 * 删除漏洞情报任务
 * @param {Object} data - 任务信息
 * @param {string} data.id - 任务ID
 * @returns {Promise} Promise 对象
 */
export function deleteTask(data) {
  return request({
    url: "/script/task/",
    method: "delete",
    data,
  });
}

/**
 * 启动漏洞情报任务
 * @param {Object} data - 任务信息
 * @param {string} data.id - 任务ID
 * @returns {Promise} Promise 对象
 */
export function startTask(data) {
  return request({
    url: "/script/start/",
    method: "post",
    data,
    headers: {
      "Content-Type": "multipart/form-data",
    },
  });
}

/**
 * 停止漏洞情报任务
 * @param {Object} data - 任务信息
 * @param {string} data.id - 任务ID
 * @returns {Promise} Promise 对象
 */
export function stopTask(data) {
  return request({
    url: "/script/stop/",
    method: "post",
    data,
    headers: {
      "Content-Type": "multipart/form-data",
    },
  });
}

/**
 * 数据同步
 * @returns {Promise} Promise 对象
 */
export function dataSync(data) {
  return request({
    url: "/script/data_sync/",
    method: "post",
    data,
    headers: {
      "Content-Type": "multipart/form-data",
    },
  });
}

/**
 * 新获取漏洞信息
 * @param {Object} params - 查询参数
 * @param {number} params.page_index - 页码
 * @param {number} params.page_size - 每页数量
 * @returns {Promise} Promise 对象
 */
export function getNewVuln(params) {
  return request({
    url: "/script/new_vlun/",
    method: "GET",
    params
  });
}

